#include<stdio.h>
#define N 10
int main()
{
    int a[10]={1,22,32,4,65,66,77,89,91,130};
    int i,j,k,max,min,flag,num,sign,loca,mid,top,bottom;
    char c;
    printf("------数组内容如下------\n");
    for(i=0;i<10;i++)
    {
        printf("%5d",a[i]);
    }
    printf("\n");
    while (flag)//flag是第一个key，跳出第一个循环
    {
        printf("\n--------输入你要查找的数------\n");
        scanf("%d",&num);
        sign=0;
        top=0;
        bottom=N-1;
        if((num<a[0])||(num>a[N-1]))
            loca=-1;//loca本来是1，为第三个key
        while((!sign)&&(top<=bottom))//从小到大
        {
            mid=(top+bottom)/2;
            if(num==a[mid])
            {
                loca=mid;
                printf("找到%d,位置在%d",num,loca+1);
                sign=1;//以sign作为key，跳出第二个while的循环
            }
            else if(num<a[mid])//在第一个和第mid-1之间寻找
                bottom=mid-1;
            else 
                top=mid+1;//在第mid+1和最后一个之间寻找
        }
        if(!sign||loca==-1)
            printf("这%d它找不到啊xd",num);
        printf("接着找吗？(Y/N)");
        scanf("%c",&c);
        if(c=='N'||c=='n')
            printf("\n------查找结束------\n");
        else 
            flag=1;
        
    }
    
    return 0;

}